package com.myway.dto.vo;

import com.myway.pojo.FlySegment;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * Created by Administrator on 2018/8/5.
 */

@ToString
public class FlySegmentVo extends FlySegment implements Serializable {
    /**
     * 航班类型 单程OW；往返RT,大写英文,默认OW
     */
    private String travlType="OW";
    /**
     * 运价币种代码；如：EUR
     */
    private String currency;
    private String depCodeName;
    private String arrCodeName;
    private String airlineCode;

    private BigDecimal marketFare;
    private BigDecimal netFare;
    private BigDecimal netChildFare;
    private BigDecimal netInfantFare;
    private BigDecimal airportTax;
    private BigDecimal fuelTax;
    private BigDecimal otherTaxes;

    private String cabinState;
    /**
     * 积分
     */
    private Integer point;
    /**
     * 参考仓位
     */
    private String referenceCabin ;
    /**
     * 参考仓位价格
     */
    private double referenceFare = 0;

    private String lowstCabin;


    public BigDecimal getNetChildFare() {
        return netChildFare;
    }

    public void setNetChildFare(BigDecimal netChildFare) {
        this.netChildFare = netChildFare;
    }

    public BigDecimal getNetInfantFare() {
        return netInfantFare;
    }

    public void setNetInfantFare(BigDecimal netInfantFare) {
        this.netInfantFare = netInfantFare;
    }

    public BigDecimal getMarketFare() {
        return marketFare;
    }

    public void setMarketFare(BigDecimal marketFare) {
        this.marketFare = marketFare;
    }

    public BigDecimal getNetFare() {
        return netFare;
    }

    public void setNetFare(BigDecimal netFare) {
        this.netFare = netFare;
    }

    public BigDecimal getAirportTax() {
        return airportTax;
    }

    public void setAirportTax(BigDecimal airportTax) {
        this.airportTax = airportTax;
    }

    public BigDecimal getFuelTax() {
        return fuelTax;
    }

    public void setFuelTax(BigDecimal fuelTax) {
        this.fuelTax = fuelTax;
    }

    public BigDecimal getOtherTaxes() {
        return otherTaxes;
    }

    public void setOtherTaxes(BigDecimal otherTaxes) {
        this.otherTaxes = otherTaxes;
    }

    public String getDepCodeName() {
        return depCodeName;
    }

    public void setDepCodeName(String depCodeName) {
        this.depCodeName = depCodeName;
    }

    public String getArrCodeName() {
        return arrCodeName;
    }

    public void setArrCodeName(String arrCodeName) {
        this.arrCodeName = arrCodeName;
    }

    public String getTravlType() {
        return travlType;
    }

    public void setTravlType(String travlType) {
        this.travlType = travlType;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getAirlineCode() {
        return airlineCode;
    }

    public void setAirlineCode(String airlineCode) {
        this.airlineCode = airlineCode;
    }

    public FlySegmentVo(Long id, Long orderId, String depCode, String arrCode, Long fltId, String cabinClass, String flightNo, Date depTime, Date arrTime, String planeType, String groupNo, String inventory, BigDecimal baseFare, String distance ,String meals, String baggage,String travlType, String currency, String depCodeName, String arrCodeName, BigDecimal marketFare, BigDecimal netFare, BigDecimal netChildFare, BigDecimal netInfantFare, BigDecimal airportTax, BigDecimal fuelTax, BigDecimal otherTaxes) {
        super(id, orderId, depCode, arrCode, fltId, cabinClass, flightNo, depTime, arrTime, planeType, groupNo, inventory,baseFare,distance,meals,baggage);
        this.travlType = travlType;
        this.currency = currency;
        this.depCodeName = depCodeName;
        this.arrCodeName = arrCodeName;
        this.marketFare = marketFare;
        this.netFare = netFare;
        this.netChildFare = netChildFare;
        this.netInfantFare = netInfantFare;
        this.airportTax = airportTax;
        this.fuelTax = fuelTax;
        this.otherTaxes = otherTaxes;
    }

   /*public FlySegmentVo(Long id, String depCode, String arrCode, Long fltId, String cabinClass, String flightNo, Date depTime, Date arrTime, String planeType, String groupNo, String inventory, BigDecimal baseFare) {
        super(id, depCode, arrCode, fltId, cabinClass, flightNo, depTime, arrTime, planeType, groupNo, inventory, baseFare);
    }

    public FlySegmentVo(Long id, String depCode, String arrCode, Long fltId, String cabinClass, String flightNo, Date depTime, Date arrTime, String planeType, String groupNo, String inventory, BigDecimal baseFare, String travlType, String currency, String depCodeName, String arrCodeName, BigDecimal marketFare, BigDecimal netFare, BigDecimal netChildFare, BigDecimal netInfantFare, BigDecimal airportTax, BigDecimal fuelTax, BigDecimal otherTaxes) {
        super(id, depCode, arrCode, fltId, cabinClass, flightNo, depTime, arrTime, planeType, groupNo, inventory, baseFare);
        this.travlType = travlType;
        this.currency = currency;
        this.depCodeName = depCodeName;
        this.arrCodeName = arrCodeName;
        this.marketFare = marketFare;
        this.netFare = netFare;
        this.netChildFare = netChildFare;
        this.netInfantFare = netInfantFare;
        this.airportTax = airportTax;
        this.fuelTax = fuelTax;
        this.otherTaxes = otherTaxes;
    }*/

    public FlySegmentVo(){};

    public int compareTo(FlySegmentVo o) {
        return this.getDepTime().compareTo(o.getDepTime());
    }

    public String getCabinState() {
        return cabinState;
    }

    public void setCabinState(String cabinState) {
        this.cabinState = cabinState;
    }

    public Integer getPoint() {
        return point;
    }

    public void setPoint(Integer point) {
        this.point = point;
    }

    public String getReferenceCabin() {
        return referenceCabin;
    }

    public void setReferenceCabin(String referenceCabin) {
        this.referenceCabin = referenceCabin;
    }

    public double getReferenceFare() {
        return referenceFare;
    }

    public void setReferenceFare(double referenceFare) {
        this.referenceFare = referenceFare;
    }

    public String getLowstCabin() {
        return lowstCabin;
    }

    public void setLowstCabin(String lowstCabin) {
        this.lowstCabin = lowstCabin;
    }
}
